Address   Hex dump          Command              Comments
6FC80C12   74 31            JZ SHORT 6FC80C45	//Dont delete normal quality throwables - NOP. Need to remove, as there is a missing step that causes depleted items to be unusable and unrepairable. Currently deprecated

0008FB8D   8B45 0C          MOV EAX,DWORD PTR SS:[EBP+C]
0008FB90   83F8 FF          CMP EAX,-1
0008FB93   74 1E            JE SHORT 0008FBB3
0008FB95   83FF 64          CMP EDI,64
0008FB98   7C 07            JL SHORT 0008FBA1	//set to JMP. Pierce now ignores immunities
0008FB9A   8B4B 14          MOV ECX,DWORD PTR DS:[EBX+14]
0008FB9D   85C9             TEST ECX,ECX
0008FB9F   75 12            JNZ SHORT 0008FBB3

6FC6359A   C74424 1C 3E0000>MOV DWORD PTR SS:[ESP+1C],3E	//Change to 7E0000>MOV DWORD PTR SS:[ESP+1C],73. Allows burn damage to grant xp on killing a target.

6FB27B6B     83FF 1E        CMP EDI,1E	//Change to CMP EDI,26. Fixes RandTransforms bug. Allows purple bosses to exist. Very important.


6FCC059B      A8 02         TEST AL,02	//The following fixes Poison Damage & Open Wounds from not triggering on death events
6FCC059D      75 22         JNZ SHORT 6FCC05C1
6FCC059F      A8 20         TEST AL,20
6FCC05A1      74 1E         JZ SHORT 6FCC05C1
6FCC05A3      57            PUSH EDI
6FCC05A4      56            PUSH ESI
6FCC05A5      53            PUSH EBX
6FCC05A6      BA 09000000   MOV EDX,9
6FCC05AB      89E9          MOV ECX,EBP
6FCC05AD      E8 DE310000   CALL 6FCC3790
6FCC05B2      BA 0A000000   MOV EDX,0A
6FCC05B7      89E9          MOV ECX,EBP
6FCC05B9      57            PUSH EDI
6FCC05BA      53            PUSH EBX
6FCC05BB      56            PUSH ESI
6FCC05BC      E8 CF310000   CALL 6FCC3790
6FCC05C1      5F            POP EDI
6FCC05C2      5E            POP ESI
6FCC05C3      5D            POP EBP
6FCC05C4      5B            POP EBX
6FCC05C5      83C4 14       ADD ESP,14
6FCC05C8      C2 0C00       RETN 0C


6FC52D70      74 04	    JE SHORT D2Game.6FC52D76 //NOP it. Fixes Item affix selection bug.

000E6889   6A 16            PUSH 16 //Change to JMP 000E6930. Lets telekinesis pick up any item again.
000E688B   53               PUSH EBX
000E688C   E8 3B500000      CALL 000EB8CC
000E6891   85C0             TEST EAX,EAX
000E6893   0F85 97000000    JNZ 000E6930

add statlist
6FD18EE1   6A 00            PUSH 0//param2
6FD18EE3   57               PUSH EDI//param1
6FD18EE4   56               PUSH ESI//stat id
6FD18EE5   52               PUSH EDX//statlist
6FD18EE6   E8 0B2D0000      CALL <JMP.&D2Common.#10465>

to

6FD18EE1   E9 6ADB0000      JMP D2Game.6FD26A50//free space
6FD18EE6   E8 0B2D0000      CALL <JMP.&D2Common.#10465>

E9 6A DB 00 00 E8 0B 2D 00 00




6FD26A50   81FE C3000000    CMP ESI,0x0C3//item_skillonattack
6FD26A56   7C 0A            JL SHORT D2Game.6FD26A62
6FD26A58   81FE C8000000    CMP ESI,0x0C8//item_skillongethit
6FD26A5E   7F 02            JG SHORT D2Game.6FD26A62
6FD26A60   EB 0A            JMP SHORT D2Game.6FD26A6C
6FD26A62   6A 00            PUSH 0//param2
6FD26A64   57               PUSH EDI//param1
6FD26A65   56               PUSH ESI//stat id
6FD26A66   52               PUSH EDX//statlist
6FD26A67  ^E9 7A24FFFF      JMP D2Game.6FD18EE6
6FD26A6C   36:833B 01       CMP DWORD PTR SS:[EBX],1//unit check
6FD26A70  ^75 F0            JNZ SHORT D2Game.6FD26A62
6FD26A72   8B4D 74          MOV ECX,DWORD PTR SS:[EBP+0x74]//aura skill tbl
6FD26A75   0FB781 96000000  MOVZX EAX,WORD PTR DS:[ECX+0x96]//passiveitype
6FD26A7C   0345 08          ADD EAX,DWORD PTR SS:[EBP+8]//add skill level to ctc skill level
6FD26A7F   50               PUSH EAX//param2
6FD26A80  ^EB E2            JMP SHORT D2Game.6FD26A64



81 FE C3 00 00 00 7C 0A 81 FE C8 00 00 00 7F 02 EB 0A 6A 00 57 56 52 E9 7A 24 FF FF 36 83 3B 01
75 F0 8B 4D 74 0F B7 81 96 00 00 00 03 45 08 50 EB E2


from sanny8:
"6FD18EE1   6A 00            PUSH 0//param2
6FD18EE3   57               PUSH EDI//param1
6FD18EE4   56               PUSH ESI//stat id
6FD18EE5   52               PUSH EDX//statlist
6FD18EE6   E8 0B2D0000      CALL <JMP.&D2Common.#10465>
here is for 'add aura stat to stat list'
idk here is 'ONLY' for aura:pleading_face:
you jump from 6FD18EE1 to your dll's free space
6FD26A50   81FE C3000000    CMP ESI,0x0C3//item_skillonattack
6FD26A56   7C 0A            JL SHORT D2Game.6FD26A62
6FD26A58   81FE C8000000    CMP ESI,0x0C8//item_skillongethit
6FD26A5E   7F 02            JG SHORT D2Game.6FD26A62
here is check ctc stat id. if you added other ctc stat, you have to add check line.
i thought maybe you wanted ctc stat  'only' for allies.
so here
6FD26A6C   36:833B 01       CMP DWORD PTR SS:[EBX],1//unit check
6FD26A70  ^75 F0            JNZ SHORT D2Game.6FD26A62
here is check unit type. 0=player 1= other mob
if you remove this 2 line, player gets ctc, too"

FIX DARK WOOD CRASH

in the first you have to compare your D2client and vanila one
6FB9624B   85F6             TEST ESI,ESI
6FB9624D  -0F84 C6B3F3FF    JE D2Client.6FAD1619
6FB96253   66:85C0          TEST AX,AX
6FB96256   7C 0A            JL SHORT D2Client.6FB96262
6FB96258   BE 01000000      MOV ESI,1
6FB9625D  -E9 81B3F3FF      JMP D2Client.6FAD15E3
6FB96262   83FE 05          CMP ESI,5
6FB96265  -0F8E 78B3F3FF    JLE D2Client.6FAD15E3
6FB9626B   BE 05000000      MOV ESI,5
6FB96270  -E9 6EB3F3FF      JMP D2Client.6FAD15E3

to vanilla code

6FB9624B   0000             ADD BYTE PTR DS:[EAX],AL
6FB9624D   0000             ADD BYTE PTR DS:[EAX],AL
6FB9624F   0000             ADD BYTE PTR DS:[EAX],AL
6FB96251   0000             ADD BYTE PTR DS:[EAX],AL
6FB96253   0000             ADD BYTE PTR DS:[EAX],AL
6FB96255   0000             ADD BYTE PTR DS:[EAX],AL
6FB96257   0000             ADD BYTE PTR DS:[EAX],AL
6FB96259   0000             ADD BYTE PTR DS:[EAX],AL
6FB9625B   0000             ADD BYTE PTR DS:[EAX],AL
6FB9625D   0000             ADD BYTE PTR DS:[EAX],AL
6FB9625F   0000             ADD BYTE PTR DS:[EAX],AL
6FB96261   0000             ADD BYTE PTR DS:[EAX],AL
6FB96263   0000             ADD BYTE PTR DS:[EAX],AL
6FB96265   0000             ADD BYTE PTR DS:[EAX],AL
6FB96267   0000             ADD BYTE PTR DS:[EAX],AL
6FB96269   0000             ADD BYTE PTR DS:[EAX],AL
6FB9626B   0000             ADD BYTE PTR DS:[EAX],AL
6FB9626D   0000             ADD BYTE PTR DS:[EAX],AL
6FB9626F   0002             ADD BYTE PTR DS:[EDX],AL
6FB96271   0000             ADD BYTE PTR DS:[EAX],AL
6FB96273   0026             ADD BYTE PTR DS:[ESI],AH

this is for changing custom code jump address
6FAD15D3  -E9 734C0C00      JMP D2Client.6FB9624B
to
6FAD15D3   E9 C3AE0900      JMP D2Client.6FB6C49B

move this code
6FB9624B   85F6             TEST ESI,ESI
6FB9624D  -0F84 C6B3F3FF    JE D2Client.6FAD1619
6FB96253   66:85C0          TEST AX,AX
6FB96256   7C 0A            JL SHORT D2Client.6FB96262
6FB96258   BE 01000000      MOV ESI,1
6FB9625D  -E9 81B3F3FF      JMP D2Client.6FAD15E3
6FB96262   83FE 05          CMP ESI,5
6FB96265  -0F8E 78B3F3FF    JLE D2Client.6FAD15E3
6FB9626B   BE 05000000      MOV ESI,5
6FB96270  -E9 6EB3F3FF      JMP D2Client.6FAD15E3

to the bottom of d2client.dll

6FB6C49B   85F6             TEST ESI,ESI
6FB6C49D  ^0F84 7651F6FF    JE D2Client.6FAD1619
6FB6C4A3   66:85C0          TEST AX,AX
6FB6C4A6   7C 0A            JL SHORT D2Client.6FB6C4B2
6FB6C4A8   BE 01000000      MOV ESI,1
6FB6C4AD  ^E9 3151F6FF      JMP D2Client.6FAD15E3
6FB6C4B2   83FE 05          CMP ESI,5
6FB6C4B5  ^0F8E 2851F6FF    JLE D2Client.6FAD15E3
6FB6C4BB   BE 05000000      MOV ESI,5
6FB6C4C0  ^E9 1E51F6FF      JMP D2Client.6FAD15E3

Huge thanks to sanny8